package com.ruoyi.energy.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 能源数据对象 ems_energy_data
 * 
 * @author ruoyi
 * @date 2024-01-20
 */
public class EmsEnergyData extends BaseEntity {
    
    private static final long serialVersionUID = 1L;

    /** 数据ID */
    private Long dataId;

    /** 设备ID */
    @Excel(name = "设备ID")
    private Long deviceId;

    /** 设备编码 */
    @Excel(name = "设备编码")
    private String deviceCode;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 能源类型（1电 2水 3气） */
    @Excel(name = "能源类型", readConverterExp = "1=电力,2=水力,3=燃气")
    private String energyType;

    /** 电压(V) */
    @Excel(name = "电压(V)")
    private BigDecimal voltage;

    /** 电流(A) */
    @Excel(name = "电流(A)")
    private BigDecimal current;

    /** 功率(kW) */
    @Excel(name = "功率(kW)")
    private BigDecimal power;

    /** 电能(kWh) */
    @Excel(name = "电能(kWh)")
    private BigDecimal energy;

    /** 功率因数 */
    @Excel(name = "功率因数")
    private BigDecimal powerFactor;

    /** 频率(Hz) */
    @Excel(name = "频率(Hz)")
    private BigDecimal frequency;

    /** 流量(L/s) - 水力数据 */
    @Excel(name = "流量(L/s)")
    private BigDecimal flowRate;

    /** 用水量(m³) - 水力数据 */
    @Excel(name = "用水量(m³)")
    private BigDecimal waterConsumption;

    /** 水压(MPa) - 水力数据 */
    @Excel(name = "水压(MPa)")
    private BigDecimal waterPressure;

    /** 水温(℃) - 水力数据 */
    @Excel(name = "水温(℃)")
    private BigDecimal waterTemperature;

    /** 燃气流量(m³/h) - 燃气数据 */
    @Excel(name = "燃气流量(m³/h)")
    private BigDecimal gasFlow;

    /** 燃气用量(m³) - 燃气数据 */
    @Excel(name = "燃气用量(m³)")
    private BigDecimal gasConsumption;

    /** 燃气压力(kPa) - 燃气数据 */
    @Excel(name = "燃气压力(kPa)")
    private BigDecimal gasPressure;

    /** 燃气温度(℃) - 燃气数据 */
    @Excel(name = "燃气温度(℃)")
    private BigDecimal gasTemperature;

    /** 热值(MJ/m³) - 燃气数据 */
    @Excel(name = "热值(MJ/m³)")
    private BigDecimal calorificValue;

    /** 环境温度(℃) */
    @Excel(name = "环境温度(℃)")
    private BigDecimal temperature;

    /** 湿度(%) */
    @Excel(name = "湿度(%)")
    private BigDecimal humidity;

    /** 采集时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "采集时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date collectTime;

    public void setDataId(Long dataId) {
        this.dataId = dataId;
    }

    public Long getDataId() {
        return dataId;
    }

    public void setDeviceId(Long deviceId) {
        this.deviceId = deviceId;
    }

    public Long getDeviceId() {
        return deviceId;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }

    public String getDeviceCode() {
        return deviceCode;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setEnergyType(String energyType) {
        this.energyType = energyType;
    }

    public String getEnergyType() {
        return energyType;
    }

    public void setVoltage(BigDecimal voltage) {
        this.voltage = voltage;
    }

    public BigDecimal getVoltage() {
        return voltage;
    }

    public void setCurrent(BigDecimal current) {
        this.current = current;
    }

    public BigDecimal getCurrent() {
        return current;
    }

    public void setPower(BigDecimal power) {
        this.power = power;
    }

    public BigDecimal getPower() {
        return power;
    }

    public void setEnergy(BigDecimal energy) {
        this.energy = energy;
    }

    public BigDecimal getEnergy() {
        return energy;
    }

    public void setPowerFactor(BigDecimal powerFactor) {
        this.powerFactor = powerFactor;
    }

    public BigDecimal getPowerFactor() {
        return powerFactor;
    }

    public void setFrequency(BigDecimal frequency) {
        this.frequency = frequency;
    }

    public BigDecimal getFrequency() {
        return frequency;
    }

    public void setTemperature(BigDecimal temperature) {
        this.temperature = temperature;
    }

    public BigDecimal getTemperature() {
        return temperature;
    }

    public void setCollectTime(Date collectTime) {
        this.collectTime = collectTime;
    }

    public Date getCollectTime() {
        return collectTime;
    }

    public void setFlowRate(BigDecimal flowRate) {
        this.flowRate = flowRate;
    }

    public BigDecimal getFlowRate() {
        return flowRate;
    }

    public void setWaterConsumption(BigDecimal waterConsumption) {
        this.waterConsumption = waterConsumption;
    }

    public BigDecimal getWaterConsumption() {
        return waterConsumption;
    }

    public void setWaterPressure(BigDecimal waterPressure) {
        this.waterPressure = waterPressure;
    }

    public BigDecimal getWaterPressure() {
        return waterPressure;
    }

    public void setWaterTemperature(BigDecimal waterTemperature) {
        this.waterTemperature = waterTemperature;
    }

    public BigDecimal getWaterTemperature() {
        return waterTemperature;
    }

    public void setGasFlow(BigDecimal gasFlow) {
        this.gasFlow = gasFlow;
    }

    public BigDecimal getGasFlow() {
        return gasFlow;
    }

    public void setGasConsumption(BigDecimal gasConsumption) {
        this.gasConsumption = gasConsumption;
    }

    public BigDecimal getGasConsumption() {
        return gasConsumption;
    }

    public void setGasPressure(BigDecimal gasPressure) {
        this.gasPressure = gasPressure;
    }

    public BigDecimal getGasPressure() {
        return gasPressure;
    }

    public void setGasTemperature(BigDecimal gasTemperature) {
        this.gasTemperature = gasTemperature;
    }

    public BigDecimal getGasTemperature() {
        return gasTemperature;
    }

    public void setCalorificValue(BigDecimal calorificValue) {
        this.calorificValue = calorificValue;
    }

    public BigDecimal getCalorificValue() {
        return calorificValue;
    }

    public void setHumidity(BigDecimal humidity) {
        this.humidity = humidity;
    }

    public BigDecimal getHumidity() {
        return humidity;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("dataId", getDataId())
            .append("deviceId", getDeviceId())
            .append("deviceCode", getDeviceCode())
            .append("deviceName", getDeviceName())
            .append("voltage", getVoltage())
            .append("current", getCurrent())
            .append("power", getPower())
            .append("energy", getEnergy())
            .append("powerFactor", getPowerFactor())
            .append("frequency", getFrequency())
            .append("temperature", getTemperature())
            .append("collectTime", getCollectTime())
            .append("createTime", getCreateTime())
            .toString();
    }
} 